OBJ := $(OBJ_DIR)/startup.o $(OBJ_DIR)/nfldr.o $(OBJ_DIR)/kinit.o    \
       $(OBJ_DIR)/ldrdevi.o

$(OBJ_DIR)/boot.o : $(OBJ)
	$(LD) $(OBJ) -r -o $@
	
$(OBJ_DIR)/startup.o : startup.s asm-inc/sconst.inc
	$(AS) -o $@ startup.s

$(OBJ_DIR)/nfldr.o : nfldr.cpp bootutil.h Multiboot.h type.h const.h list.h  \
     protect.h knlvar.h NewLife.h Map.h ../core/Resource.h ../pageman/Page.h \
     ../pageman/PageFrameAllocator.h
	$(CC) -o $@ nfldr.cpp

$(OBJ_DIR)/kinit.o : kinit.cpp bootutil.h ../pageman/PageFrameAllocator.h \
     ../pageman/PageFrameAllocator.h ../core/Resource.h SCI.h
	$(CC) -o $@ kinit.cpp

$(OBJ_DIR)/ldrdevi.o : ldrdevi.s
	$(AS) -o $@ ldrdevi.s

clean : - rm $(OBJ)

.PHONY : all clean

